// CRON的接口注入任务
package xginxcron

import (
	"gitee.com/xiaoyutab/xgotool/optional/xcron"
	"gitee.com/xiaoyutab/xgotool/xgin"
	"github.com/gin-gonic/gin"
)

// 此函数为直接注入路由，所以无需使用GET/POST等形式添加路由信息
// PS: 此处的接口均需要登陆才能访问【此处仅做了uid大于0的判定，所以前文需要先使用中间件进行判定写入uid】
//
//	r		gin路由组
//	config	xnsq配置信息
//	restr	是否直接重启Crontab任务轮询
func Regedit(r *gin.RouterGroup, config *xcron.Config, restr bool) {
	// 使用中间件，用于鉴权相关
	r.Use(xgin.MustLogin)
	// 注册cron任务
	if config != nil {
		xcron.Regedit(config)
	}
	// 确定是否重启轮询
	if restr {
		xcron.Restart()
	}
	r.GET("status", xgin.Convert(status))   // 获取轮询状态任务
	r.GET("switch", xgin.Convert(switchF))  // 切换轮询任务状态
	r.GET("restart", xgin.Convert(restart)) // 重启所有轮询任务
}
